export const downloadFile = (url, fileName = '') => {
  let eleLink = document.createElement('a');
  eleLink.download = fileName;
  eleLink.style.display = 'none';
  eleLink.href = url;
  // 受浏览器安全策略的因素，动态创建的元素必须添加到浏览器后才能实施点击
  document.body.appendChild(eleLink);
  // 触发点击
  eleLink.click();
  // 然后移除
  document.body.removeChild(eleLink);
};

/**
 *
 * @param object 要检索的对象
 * @param path 要获取属性的路径
 * @param defaultValue 默认返回值
 * @returns 返回路径匹配到的值
 */
export function getValue(object: object, path: string, defaultValue: unknown) {
  // 将路径字符串分割成数组
  const pathArray = path.split('.');
  // 使用 reduce 方法遍历路径数组
  return pathArray.reduce((obj, key) => {
    // 如果当前对象不为 null 或 undefined，则继续获取下一个属性
    return obj && obj[key] ? obj[key] : defaultValue;
  }, object);
}
